import java.util.*;

public class HashMapCode {
    public static void main(String[] args) {
        /**
         * 无序 不重复 无索引
         * */
//        HashMap<Student, String> map = new HashMap<>();
//        map.put(new Student("张三", 18), "北京");
//        map.put(new Student("李四", 19), "上海");
//        map.put(new Student("王五", 20), "广州");
//        map.put(new Student("张三", 18), "北京");

//        迭代器遍历
//        Iterator<Student> iterator=map.keySet().iterator();
//        while(iterator.hasNext()){
//            Student student=iterator.next();
//            System.out.println(student+"的地址是"+map.get(student));
//        }

//        获取键集合 再进行迭代器遍历
//        Set<Student> set = map.keySet();
//        Iterator<Student> iterator = set.iterator();
//        while(iterator.hasNext()){
//            Student student=iterator.next();
//            System.out.println(student);
//        }

//        获取键值对集合 在使用增强for遍历
//        Set<Map.Entry<Student, String>> set = map.entrySet();
//        for (Map.Entry<Student, String> entry : set) {
//            System.out.println(entry.getKey() + "____" + entry.getValue());
//        }

//        map.forEach((key,value)->{
//            System.out.println(key+"的地址是"+value);
//        });

        String[] strs = {"纳木措", "布达拉宫", "羊卓雍措", "八廓街"};
        ArrayList<String> list = new ArrayList<>();
        Random r = new Random();
        for (int i = 0; i < 80; i++) {
            int index = r.nextInt(strs.length);
            list.add(strs[index]);
        }
        HashMap<String, Integer> map = new HashMap<>();
        for(String str: list){
            if(map.containsKey(str)){
                map.put(str, map.get(str) + 1);
            }else{
                map.put(str, 1);
            }
        }
        int max=0;
        Set<Map.Entry<String, Integer>> keySet = map.entrySet();
        for (Map.Entry<String, Integer> entry : keySet) {
            if(entry.getValue()>max){
                max=entry.getValue();
            }
        }
        for (Map.Entry<String, Integer> entry : keySet) {
            if(entry.getValue()==max){
                System.out.println("同学们最想去的景点是："+entry.getKey());
            }
        }

    }
}
